Device drivers are normally used by computing devices (e.g., personal computers (PCs)) to communicate with other devices. For example, printer drivers are typically needed to send jobs from a user application (e.g., word processing application) executing on the computing device to a printer. Generally speaking, drivers comprise software programs that control the device that is to be utilized. The driver acts as a translator between the end device and applications that use the device in that each device has its own specialized language that it speaks. Drivers therefore are adapted to accept generic commands from an application and translate the generic commands into specialized commands for the end device.
Device drivers are usually provided to the user upon purchase of a particular device. Alternatively or in addition, a driver for a recently acquired device can be downloaded from the Internet. In that each driver is specifically adapted for a particular device, the user normally must install on his or her computer a different driver for each device that the user intends to access. Moreover, to obtain optimal performance, the user may need to periodically update the drivers as improved versions are developed by the device manufacturer.
Recently, some imaging device manufacturers have developed so-called “driverless” systems in which the user need not install a driver on his or her computer to access and use a given device. In one such arrangement, a print server is used that stores and is able to execute all drivers for all devices connected to a network. In this arrangement, jobs are sent to the print server, which acts as a translator for the end device that is to execute the job. In another arrangement, each end device stores its associated driver on internal memory.
While providing an improvement over more conventional systems, known driverless systems do not solve other problems. Aside from security issues discussed in U.S. patent application Ser. No. 09/954,832, the user or system administrator must still manually install the appropriate translators. For example, if an imaging device does not already comprise the translator needed for a particular print job, this translator must somehow be installed on the print server or the device. Additionally, from time to time it will be desirable to update one of more of these translators as new versions are made available.
Even where the process of installing a translator on the end device is, at least in part, automated, as described in U.S. patent application Ser. No. 10/283,451, the translator installation process must be initiated separately for each end device that is to receive the translator. This can be tedious for the system administrator if many translators are to be installed (even the same translator) on many different devices, for example in an enterprise environment. Furthermore, it can be difficult to track which devices have received the translators in such a situation.